窗口函数
最近更新时间: 2024-10-17 17:10:00
窗口函数提供在与当前查询行相关的行集合上执行计算的能力,通用的窗口函数如下:
函数 | 返回类型 | 描述 |
---|---|---|
row_number() | bigint | 当前行在其分区中的行号,从1计 |
rank() | bigint | 带间隙的当前行排名;与该行的第一个同等行的 row_number 相同 |
dense_rank() | bigint | 不带间隙的当前行排名; 这个函数计数同等组 |
percent_rank() | double precision | 当前行的相对排名: (rank- 1) / (总分区行数 - 1) |
cume_dist() | double precision | 累积分配: (当前行前面的分区行数 或 与当前行同等的行的分区行数) / (总分区行数) |
first_value(value any) | same type as value | 返回在窗口帧中第一行上计算的 value |
last_value(value any) | same type as value | 返回在窗口帧中最后一行上计算的 value |
nth_value(value any, nthinteger) | same type as value | 返回在窗口帧中第 nth 行(行从1计数)上计算的 value;没有这样的行则返回空值 |